package cn.bearspark.api.service.main;

import cn.bearspark.api.vo.main.draft.DraftSimpleVO;
import cn.bearspark.api.vo.main.draft.DraftVO;
import cn.bearspark.api.vo.main.draft.SaveDraftVO;
import cn.bearspark.common.dto.Page;

/**
 * 专栏草稿服务的接口
 *
 * @author f
 */
public interface DraftService {

    /**
     * 保存草稿
     *
     * @param saveDraftVO 保存草稿的请求对象
     * @return 草稿 id
     */
    Long save(SaveDraftVO saveDraftVO);

    /**
     * 获取草稿
     *
     * @param draftId 待获取的草稿 id
     * @return 草稿
     */
    DraftVO get(Long draftId);

    /**
     * 删除草稿
     *
     * @param draftId 待删除的草稿 id
     */
    void delete(Long draftId);

    /**
     * 分页获取草稿列表
     *
     * @param pageNum  页数
     * @param pageSize 元素数
     * @return 草稿列表
     */
    Page<DraftSimpleVO> page(Integer pageNum, Integer pageSize);
}
